package com.drinkdelivery.common.domain;


import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.drinkdelivery.common.annotation.Excel;
import com.drinkdelivery.common.core.domain.BaseEntity;

/**
 * 商品规格属性对象 product_spec
 *
 * @author lzh
 * @date 2024-11-08
 */
@Data
@ApiModel(description = "商品规格属性实体类")
@TableName("product_spec")
public class ProductSpec
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键id")
    private Long id;
    /** 规格名称，如 "颜色" 或 "尺寸" */
    @Excel(name = "规格名称，如 颜色 或 尺寸")
    @ApiModelProperty(value = "商品规格属性名称")
    private String specName;
    /** 逻辑删除标记，0-未删除，1-已删除 */
    @Excel(name = "逻辑删除标记，0-未删除，1-已删除")
    @ApiModelProperty(value = "删除标识")
    private Integer isDeleted;
    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createdAt;
    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private Date updatedAt;
    /** 商户id */
    @Excel(name = "商户id")
    @ApiModelProperty(value = "商户id")
    private Integer merchantId;

    @TableField(exist = false)
    @ApiModelProperty(value = "商品规格属性值列表")
    private List<ProductSpecValue> productSpecValueList;
}
